package com.taxi.daos.mysql;

import java.io.IOException;
import java.io.Reader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import com.taxi.bean.UsuarioDTO;
import com.taxi.daos.interfaces.*;
import com.taxi.util.UtilSqlConfig;

public class UsuarioDAOImpl implements UsuarioDAO {

	SqlMapClient sqlMapClient = UtilSqlConfig.getSqlMapInstance();
	
	public void registrarCuentaPN(UsuarioDTO user) throws Exception {
		UsuarioDTO usuario = (UsuarioDTO)sqlMapClient.insert("registrarCuentaPN",user);
		System.out.println("Estoy dentro");
		//sqlMap.insert("registrarCuenta", user);
	}

	public void registrarCuentaPJ(UsuarioDTO user) throws Exception {
		UsuarioDTO usuario = (UsuarioDTO)sqlMapClient.insert("registrarCuentaPJ",user);
		System.out.println("Estoy dentro");
		//sqlMap.insert("registrarCuenta", user);
	}

	public List<UsuarioDTO> listarTodosLosUsuarios() throws Exception {
		List<UsuarioDTO> usuarios = sqlMapClient.queryForList("getUsuarios", null);
		return usuarios;
	}

	public UsuarioDTO codigoAutogenerado() throws Exception {
		return (UsuarioDTO)sqlMapClient.queryForObject("codigoAutogenerado");
	}

	public void actualizarPN(UsuarioDTO user) throws Exception {
		sqlMapClient.update("actualizarPN", user);
	}

	public void eliminarPN(UsuarioDTO user) throws Exception {
		sqlMapClient.delete("eliminarPN", user);
	}

	public int obtenerPuntos(String codigo) throws Exception {
		// TODO Auto-generated method stub
		UsuarioDTO dto = new UsuarioDTO();
		dto = (UsuarioDTO) sqlMapClient.queryForObject("obtenerPunto", codigo);
		return dto.getPunto();
	}

	public void insertarPunto(UsuarioDTO bean) throws Exception {
		
		sqlMapClient.update("insertarPunto", bean);		
	}

	@Override
	public int login(UsuarioDTO user) throws Exception {
		int tipo = 0;
		
		 tipo = (Integer)sqlMapClient.queryForObject("login",user);		
		 
	
		return tipo;
	}

}
